home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / OpenDoc Parts Framework / OPF / Found / FWCommon / Include / FWMacWin.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-21  |  11.7 KB  |  399 lines  |  [TEXT/MPS ]

  1. #ifndef FWMACWIN_H
  2. #define FWMACWIN_H
  3. //========================================================================================
  4. //
  5. //    File:                FWMacWin.h
  6. //    Release Version:    $ 1.0d1 $
  7. //
  8. //    Creation Date:        3/25/94
  9. //
  10. //    Copyright:    © 1994 by Apple Computer, Inc., all rights reserved.
  11. //
  12. //========================================================================================
  13.  
  14. #if defined(FW_BUILD_WIN) && !defined(FWMACWIN_H)
  15. #ifndef _INC_WINDOWS
  16. #ifndef WINVER
  17. #define WINVER  0x030a
  18. #endif
  19. #include <windows.h>
  20. #define FWMACWIN_H
  21.  
  22. #define WM_PAINTICON        0x0026
  23. #endif
  24. #endif 
  25.  
  26. #if defined(FW_BUILD_MAC) && !defined(FWMACWIN_H)
  27. #define FWMACWIN_H
  28.  
  29. #include <Types.h>
  30. #include <QuickDraw.h>
  31. #include <Menus.h>
  32.  
  33.  
  34. #ifdef __cplusplus
  35.     extern "C" {
  36. #endif
  37.  
  38. typedef char             *LPSTR;
  39.  
  40. /* OpenFile() Flags */
  41. #define OF_READ             0x0000
  42. #define OF_WRITE            0x0001
  43. #define OF_READWRITE        0x0002
  44. #define OF_SHARE_COMPAT     0x0000
  45. #define OF_SHARE_EXCLUSIVE  0x0010
  46. #define OF_SHARE_DENY_WRITE 0x0020
  47. #define OF_SHARE_DENY_READ  0x0030
  48. #define OF_SHARE_DENY_NONE  0x0040
  49. #define OF_PARSE            0x0100
  50. #define OF_DELETE           0x0200
  51. #define OF_VERIFY           0x0400
  52. #define OF_CANCEL           0x0800
  53. #define OF_CREATE           0x1000
  54. #define OF_PROMPT           0x2000
  55. #define OF_EXIST            0x4000
  56. #define OF_REOPEN           0x8000
  57.  
  58.  
  59. /* Key State Masks for Mouse Messages */
  60. #define MK_LBUTTON          0x0001
  61. #define MK_RBUTTON          0x0002
  62. #define MK_SHIFT            0x0004
  63. #define MK_CONTROL          0x0008
  64. #define MK_MBUTTON          0x0010
  65.  
  66. /*--------------------------------------------------------------------------*/
  67. /*  General Purpose Defines                                                 */
  68. /*--------------------------------------------------------------------------*/
  69.  
  70. #ifndef NULL
  71. #define NULL                0
  72. #endif
  73.  
  74. #ifndef FALSE
  75. #define FALSE               0
  76. #endif
  77.  
  78. #ifndef TRUE
  79. #define TRUE                1
  80. #endif
  81.  
  82. #define FAR                 far
  83. #define NEAR                near
  84. #define LONG                long
  85. #define VOID                void
  86.  
  87. #ifndef far
  88. #define far
  89. #endif
  90.  
  91. #ifndef near
  92. #define near
  93. #endif
  94. #define PASCAL
  95. #define cdecl
  96. #define huge
  97. #define _cdecl
  98. #define CALLBACK
  99.  
  100. #define MAKELONG(a, b)      ((LONG)(((WORD)(a)) | ((DWORD)((WORD)(b))) << 16))
  101. #define LOWORD(l)           ((WORD)(l))
  102. #define HIWORD(l)           ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))
  103. #define LOBYTE(w)           ((BYTE)(w))
  104. #define HIBYTE(w)           ((BYTE)(((WORD)(w) >> 8) & 0xFF))
  105.  
  106. typedef unsigned char       BYTE;
  107. typedef short               BOOL;
  108.   typedef unsigned short      WORD;
  109. typedef unsigned long       DWORD;
  110. typedef char near           *PSTR;
  111. typedef char near           *NPSTR;
  112. typedef char far            *LPSTR;
  113. typedef BYTE near           *PBYTE;
  114. typedef BYTE far            *LPBYTE;
  115. typedef int near            *PINT;
  116. typedef int far             *LPINT;
  117. typedef WORD near           *PWORD;
  118. typedef WORD far            *LPWORD;
  119. typedef long near           *NPLONG;
  120. typedef long far            *LPLONG;
  121. typedef DWORD near          *PDWORD;
  122. typedef DWORD far           *LPDWORD;
  123. typedef void far            *LPVOID;
  124.  
  125. typedef FW_PlatformHandle HANDLE;
  126. typedef GrafPtr     HWND;
  127.  
  128. typedef HANDLE              *PHANDLE;
  129. typedef HANDLE NEAR         *SPHANDLE;
  130. typedef HANDLE FAR          *LPHANDLE;
  131. typedef HANDLE              GLOBALHANDLE;
  132. typedef HANDLE              LOCALHANDLE;
  133. typedef int (FAR PASCAL *FARPROC)();
  134. typedef int (NEAR PASCAL *NEARPROC)();
  135.  
  136. typedef HANDLE              HSTR;
  137. typedef HANDLE              HICON;
  138. typedef HANDLE              HDC;
  139. typedef HANDLE              HPEN;
  140. typedef HANDLE              HFONT;
  141. typedef HANDLE              HFWUSH;
  142. typedef HANDLE              HBITMAP;
  143. typedef HANDLE              HRGN;
  144. typedef HANDLE              HPALETTE;
  145.  
  146. typedef CursHandle      HCURSOR;
  147. typedef MenuHandle      HMENU;
  148.  
  149. typedef DWORD               COLORREF;
  150.  
  151. /* MessageBox() Flags */
  152. #define MB_OK               0x0000
  153. #define MB_OKCANCEL         0x0001
  154. #define MB_ABORTRETRYIGNORE 0x0002
  155. #define MB_YESNOCANCEL      0x0003
  156. #define MB_YESNO            0x0004
  157. #define MB_RETRYCANCEL      0x0005
  158.  
  159. #define MB_ICONHAND         0x0010
  160. #define MB_ICONQUESTION     0x0020
  161. #define MB_ICONEXCLAMATION  0x0030
  162. #define MB_ICONASTERISK     0x0040
  163.  
  164. #define MB_ICONINFORMATION  MB_ICONASTERISK
  165. #define MB_ICONSTOP         MB_ICONHAND
  166.  
  167. #define MB_DEFBUTTON1       0x0000
  168. #define MB_DEFBUTTON2       0x0100
  169. #define MB_DEFBUTTON3       0x0200
  170.  
  171. #define MB_APPLMODAL        0x0000
  172. #define MB_SYSTEMMODAL      0x1000
  173. #define MB_TASKMODAL        0x2000
  174.  
  175. #define MB_NOFOCUS          0x8000
  176.  
  177. #define MB_TYPEMASK         0x000F
  178. #define MB_ICONMASK         0x00F0
  179. #define MB_DEFMASK          0x0F00
  180. #define MB_MODEMASK         0x3000
  181. #define MB_MISCMASK         0xC000
  182.  
  183. #define IDOK                1
  184. #define IDCANCEL            2
  185. #define IDABORT             3
  186. #define IDRETRY             4
  187. #define IDIGNORE            5
  188. #define IDYES               6
  189. #define IDNO                7
  190.  
  191. #define SRCCOPY             (DWORD)0x00CC0020 /* dest = source                   */
  192. #define SRCPAINT            (DWORD)0x00EE0086 /* dest = source OR dest           */
  193. #define SRCAND              (DWORD)0x008800C6 /* dest = source AND dest          */
  194. #define SRCINVERT           (DWORD)0x00660046 /* dest = source XOR dest          */
  195. #define SRCERASE            (DWORD)0x00440328 /* dest = source AND (NOT dest )   */
  196. #define NOTSRCCOPY          (DWORD)0x00330008 /* dest = (NOT source)             */
  197. #define NOTSRCERASE         (DWORD)0x001100A6 /* dest = (NOT src) AND (NOT dest) */
  198. #define MERGECOPY           (DWORD)0x00C000CA /* dest = (source AND pattern)     */
  199. #define MERGEPAINT          (DWORD)0x00BB0226 /* dest = (NOT source) OR dest     */
  200. #define PATCOPY             (DWORD)0x00F00021 /* dest = pattern                  */
  201. #define PATPAINT            (DWORD)0x00FB0A09 /* dest = DPSnoo                   */
  202. #define PATINVERT           (DWORD)0x005A0049 /* dest = pattern XOR dest         */
  203. #define DSTINVERT           (DWORD)0x00550009 /* dest = (NOT dest)               */
  204. #define BLACKNESS           (DWORD)0x00000042 /* dest = BLACK                    */
  205. #define WHITENESS           (DWORD)0x00FF0062 /* dest = WHITE                    */
  206.  
  207.  
  208. #define WS_OVERLAPPED       0x00000000L
  209. #define WS_POPUP            0x80000000L
  210. #define WS_CHILD            0x40000000L
  211. #define WS_MINIMIZE         0x20000000L
  212. #define WS_VISIBLE          0x10000000L
  213. #define WS_DISABLED         0x08000000L
  214. #define WS_CLIPSIBLINGS     0x04000000L
  215. #define WS_CLIPCHILDREN     0x02000000L
  216. #define WS_MAXIMIZE         0x01000000L
  217. #define WS_CAPTION          0x00C00000L     /* WS_BORDER | WS_DLGFRAME  */
  218. #define WS_BORDER           0x00800000L
  219. #define WS_DLGFRAME         0x00400000L
  220. #define WS_VSCROLL          0x00200000L
  221. #define WS_HSCROLL          0x00100000L
  222. #define WS_SYSMENU          0x00080000L
  223. #define WS_THICKFRAME       0x00040000L
  224. #define WS_GROUP            0x00020000L
  225. #define WS_TABSTOP          0x00010000L
  226.  
  227. #define LB_ERR                  (-1)
  228. #define LB_OKAY                    0
  229. #define LB_ERRSPACE              (-2)
  230.  
  231. #define PS_SOLID            0
  232. #define PS_DASH             1      
  233. #define PS_DOT              2      
  234. #define PS_DASHDOT          3       
  235. #define PS_DASHDOTDOT       4       
  236. #define PS_NULL             5
  237. #define PS_INSIDEFRAME      6
  238.  
  239. typedef FW_SPlatformRect RECT;
  240. typedef FW_SPlatformPoint POINT;
  241.  
  242. typedef RECT                *PRECT;
  243. typedef RECT NEAR           *NPRECT;
  244. typedef RECT FAR            *LPRECT;
  245. typedef POINT               *PPOINT;
  246. typedef POINT NEAR          *NPPOINT;
  247.  
  248. #define CTLCOLOR_MSGBOX         0
  249. #define CTLCOLOR_EDIT           1
  250. #define CTLCOLOR_LISTBOX        2
  251. #define CTLCOLOR_BTN            3
  252. #define CTLCOLOR_DLG            4
  253. #define CTLCOLOR_SCROLLBAR      5
  254. #define CTLCOLOR_STATIC         6
  255. #define CTLCOLOR_MAX            8     /* three bits max */
  256.  
  257. #define COLOR_SCROLLBAR         0
  258. #define COLOR_BACKGROUND        1
  259. #define COLOR_ACTIVECAPTION     2
  260. #define COLOR_INACTIVECAPTION   3
  261. #define COLOR_MENU              4
  262. #define COLOR_WINDOW            5
  263. #define COLOR_WINDOWFRAME       6
  264. #define COLOR_MENUTEXT          7
  265. #define COLOR_WINDOWTEXT        8
  266. #define COLOR_CAPTIONTEXT       9
  267. #define COLOR_ACTIVEBORDER      10
  268. #define COLOR_INACTIVEBORDER    11
  269. #define COLOR_APPWORKSPACE      12
  270. #define COLOR_HIGHLIGHT         13
  271. #define COLOR_HIGHLIGHTTEXT     14
  272. #define COLOR_BTNFACE           15
  273. #define COLOR_BTNSHADOW         16
  274. #define COLOR_GRAYTEXT          17
  275. #define COLOR_BTNTEXT           18
  276. #define COLOR_ENDCOLORS         COLOR_BTNTEXT
  277.  
  278. #define ODT_MENU        1
  279. #define ODT_LISTBOX     2
  280. #define ODT_COMBOBOX    3
  281. #define ODT_BUTTON      4
  282.  
  283. /* Owner draw actions */
  284. #define ODA_DRAWENTIRE  0x0001
  285. #define ODA_SELECT      0x0002
  286. #define ODA_FOCUS       0x0004
  287.  
  288. /* Owner draw state */
  289. #define ODS_SELECTED    0x0001
  290. #define ODS_GRAYED      0x0002
  291. #define ODS_DISABLED    0x0004
  292. #define ODS_CHECKED     0x0008
  293. #define ODS_FOCUS       0x0010
  294.  
  295. #define SB_HORZ             0
  296. #define SB_VERT             1
  297. #define SB_CTL              2
  298. #define SB_BOTH             3
  299.  
  300. #ifndef __PLATFORM__
  301. #ifndef __CONTROLS__
  302. #include <Controls.h>
  303. #endif
  304. #endif
  305.  
  306. #define SB_LINEUP               inUpButton
  307. #define SB_LINEDOWN             inDownButton
  308. #define SB_PAGEUP               inPageUp
  309. #define SB_PAGEDOWN             inPageDown
  310. #define SB_THUMBPOSITION    inThumb
  311. #define SB_THUMBTRACK       inThumb + 1
  312. #define SB_TOP                  inThumb + 2
  313. #define SB_BOTTOM               inThumb + 3
  314. #define SB_ENDSCROLL        inThumb + 4
  315.  
  316. #define IDC_ARROW           0
  317. #define IDC_IBEAM           iBeamCursor
  318. #define IDC_WAIT            watchCursor
  319. #define IDC_CROSS           crossCursor
  320. #define IDC_UPARROW         0
  321. #define IDC_SIZE            0
  322. #define IDC_ICON            0
  323. #define IDC_SIZENWSE    0
  324. #define IDC_SIZENESW    0
  325. #define IDC_SIZEWE          0
  326. #define IDC_SIZENS          0
  327.  
  328. #define VK_TAB          0x30
  329. #define VK_BACK             0x33
  330. #define VK_CLEAR            0x47
  331. #define VK_RETURN       0x24
  332. #define VK_ENTER        0x4C            /*This is the ener key seperate from the return key*/
  333.  
  334. #define VK_ESCAPE       0x35
  335. #define VK_SPACE            0x31
  336. #define VK_PRIOR        0x74
  337. #define VK_NEXT         0x79
  338. #define VK_END              0x77
  339. #define VK_HOME             0x73
  340. #define VK_LEFT         0x7B
  341. #define VK_UP           0x7E
  342. #define VK_RIGHT        0x7C
  343. #define VK_DOWN         0x7D
  344.  
  345. #define VK_SELECT           0x29
  346. #define VK_PRINT            0x2A
  347. #define VK_EXECUTE          0x2B
  348. #define VK_SNAPSHOT         0x2C
  349. #define VK_INSERT           0x2D
  350.  
  351. #define VK_DELETE       0x75
  352.  
  353. #define VK_HELP             0x2F
  354.  
  355. /* VK_A thru VK_Z are the same as their ASCII equivalents: 'A' thru 'Z' */
  356. /* VK_0 thru VK_9 are the same as their ASCII equivalents: '0' thru '0' */
  357.  
  358. #define VK_NUMPAD0          0x60
  359. #define VK_NUMPAD1          0x61
  360. #define VK_NUMPAD2          0x62
  361. #define VK_NUMPAD3          0x63
  362. #define VK_NUMPAD4          0x64
  363. #define VK_NUMPAD5          0x65
  364. #define VK_NUMPAD6          0x66
  365. #define VK_NUMPAD7          0x67
  366. #define VK_NUMPAD8          0x68
  367. #define VK_NUMPAD9          0x69
  368. #define VK_MULTIPLY         0x6A
  369. #define VK_ADD              0x6B
  370. #define VK_SEPARATOR    0x6C
  371. #define VK_SUBTRACT         0x6D
  372. #define VK_DECIMAL          0x6E
  373. #define VK_DIVIDE           0x6F
  374. #define VK_F1               0x70
  375. #define VK_F2               0x71
  376. #define VK_F3               0x72
  377. #define VK_F4               0x73
  378. #define VK_F5               0x74
  379. #define VK_F6               0x75
  380. #define VK_F7               0x76
  381. #define VK_F8               0x77
  382. #define VK_F9               0x78
  383. #define VK_F10              0x79
  384. #define VK_F11              0x7A
  385. #define VK_F12              0x7B
  386. #define VK_F13              0x7C
  387. #define VK_F14              0x7D
  388. #define VK_F15              0x7E
  389. #define VK_F16              0x7F
  390.  
  391. #ifdef __cplusplus
  392.     }
  393. #endif
  394.  
  395. #endif /* #ifndef FWMACWIN_H */
  396.  
  397.  
  398. #endif
  399.